﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.ComponentModel;
using System.Globalization;

namespace View
{
    public class Util
    {
        /// <summary>
        /// Valida caracteres especiais em textBox para suprimir o evento KeyPress
        /// Caracteres Inválidos: Simbolos
        /// </summary>
        /// <param name="caixaTexto">objeto TextBox</param>
        /// <returns></returns>
        static public Boolean validaCaracteresEspeciaisClipBoard(TextBox caixaTexto)
        {
            //Valida copy and paste com caracteres especiais
            String clip = String.Empty;

            if (Clipboard.ContainsText())
            {
                if (Clipboard.GetText().Length >= caixaTexto.MaxLength)
                    clip = Clipboard.GetText().Substring(0, caixaTexto.MaxLength);
                else
                    clip = Clipboard.GetText();

                for (int tam = 0; tam < caixaTexto.MaxLength; tam++)
                {
                    if (!Char.IsLetterOrDigit(clip[tam]) &&
                        !Char.IsControl(clip[tam]) &&
                        !Char.IsWhiteSpace(clip[tam]))
                    {
                        return false;
                    }
                }
            }

            return true;
        }


        /// <summary>
        /// Valida caracteres especiais em textBox para suprimir o evento KeyPress
        /// Caracteres Inválidos: Simbolos
        /// </summary>
        /// <param name="caixaTexto">objeto TextBox</param>
        /// <returns></returns>
        static public Boolean validaCaracteresEspeciais(TextBox caixaTexto)
        {
            if (String.IsNullOrEmpty(caixaTexto.Text))
                return true;

            for (int tam = 0; tam < caixaTexto.Text.Length; tam++)
            {
                if (!Char.IsLetterOrDigit(caixaTexto.Text[tam]) &&
                    !Char.IsControl(caixaTexto.Text[tam]) &&
                    !Char.IsWhiteSpace(caixaTexto.Text[tam]))
                {
                    return false;
                }
            }

            return true;
        }

        static public String buscaMesPeloNumero(int numero)
        {
            string[] meses = { "Janeiro", 
                               "Fevereiro", 
                               "Março", 
                               "Abril", 
                               "Maio", 
                               "Junho", 
                               "Julho", 
                               "Agosto", 
                               "Setembro", 
                               "Outubro", 
                               "Novembro", 
                               "Dezembro" };

            if (numero < 1 && numero > 12)
                return String.Empty;
            else
                return meses[numero -1];
        }

        public enum TipoResumo
        {
            RESUMO_ANUAL = 0,
            RESUMO_MENSAL,
            RESUMO_USUARIO,
            RESUMO_GERAL          
        };
    }
}
